#include <bits/stdc++.h>
using namespace std;
int n, m, a, b;
int Map[101][101];
int dx[9] = {1, 2, 2, 1, -1, -2, -2, -1, 0};
int dy[9] = {-2, -1, 1, 2, 2, 1, -1, -2, 0};
long long dp[101][101];
int main()
{
	cin >> n >> m >> a >> b;
	for(int i = 0; i < 9; i++)
	{
		int tx = dx[i] + a, ty = dy[i] + b;
		if(tx < 0 || ty < 0 || tx > n || ty > m)
			continue;
		Map[tx][ty] = 1;
	}
	dp[0][0] = 1;
	for(int i = 0; i <= n; i++)
	{
		for(int j = 0; j <= m; j++)
		{
			if(!Map[i][j])
				dp[i][j] += dp[i-1][j] + dp[i][j-1];
		}
	}
	cout << dp[n][m] << endl;
	return 0;
}